// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Pinco Azerbaycanlılar üçün ən yaxşı online kazino oynamaq! – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Pinco Azerbaycanlılar üçün ən yaxşı online kazino oynamaq!

Pinco Azerbaycanlılar üçün necəsi ilə seçim edin online kazino?

Pinco Azerbaycanlılar üçün seçim edəcəklikləri online kazino tapmaq üçün şəkilli proses var. İlk şey, mükafatlar qəbul edəcəyiniz kazinoyu seçməkdir. Müxtəlif oyunlar, bonuslar və komisyonların mövcud olduğu kazino təyin edin. İkincisi, qülbədə olan para transferi metodlarının kazinoyu seçməkdə önemlidir. Azerbaycanlılar üçün mükafat verən və qülbədən para çəkə bilən online kazino seçin. Üçüncü, güvənli və sağlam işletməcilik tələb olunur. İşləyici bir sertifikatın mövcud olduğunu və iş sahəsində uzun zamandır çalışdığını təsdiqləyən məlumatların mövcud olduğunu yoxlayın. Dördüncü, müştərilər üçün dostu bir ixtisasının olduğunu yoxlayın. Əlavə olaraq, mobil uygunluğu və iştirak edə biləcək dil seçenələri daxil olmalıdır.

Pinco’nin təklif etdiyi ən yaxşı online kazinolar üçün baxış

Pinco, sizin için ən yaxşı online kazino platformalarını təklif edir. Bu platformalar, müxtəlif oyun tipidir: slotlar, kart oyunları, kupa oyunları və böyük qazancların mövcud olduğu kazino oyunları. Əgər siz özləyirsiniz, Pinco sizin üçün aşağıdakı önemli kazino platformlarını tavsiə edir:

Bonuslar və promosyalar: Pinco Azerbaycanlılar üçün ən yaxşı online kazino seçimini et

Bonuslar və promosyalar ilə Pinco Azerbaycanlılar üçün ən yaxşı online kazino seçimini etmək üçün şəkillənmiş bir reysmə sunuyuram. İlk olaraq, fərqlı bonuslar ilə qonaqda xidmət göstərilən kazino səhifələri tək tək inşə ola bilər. Əgər sizə qiymətə dair xidmət verilirse, bu sizin lazım olanların biridir. İkkinci olaraq, promosyalar kimi, daha çox oyuncu gelirək, siz daha çox foydalanabilirsiniz. Üçüncü olaraq, güvənlikkeyfiyyət saxlanılmasının daha çox özünüzü rahatlatdıracağını unutmayın. Bonuslar və promosyalar Pinco Azerbaycanlılar üçün ən yaxşı online kazino seçimini etmək üçün önemli bir role sahibdir.

Pinco Azerbaycanlılar üçün ən yaxşı online kazino oynamaq: quluyan xidmətlər

Pinco Azerbaycanlılar üçün ən yaxşı online kazino oynamaq istifadə edə biləcək və quluyan xidmətlər sunuyan platformaları seçmək üçün təhlükəsiz rekomendasiyalar alın. Əgər siz Azerbaycanlısısınız və online kazino oynamaq istəyirsiniz, biz sizin üçün təmin etdiyimiz 8 casino, güvənləndirilmiş, və müasir xidmətlərə baxmayaraq keyfiyyətli bir zaman geçirə bilərsiniz:
1. Azərbaycan dili destəkleyən, güvənləndirilmiş və müasir oynama imkanları sunan 1XBet Casino;
2. Təşəkkür edirik bonuslar, çoxlu oyunlar və güvənləndirilmiş ödənişlərin mümkün olduğunca kolleksiyası ilə əmin olun 888 Casino;
3. Çoxlu bonuslar, çox çeşitli oyunlar və güvənləndirilmiş ödəniş imkanları ilə çox sevildiyi Betway Casino;
4. Ən yaxşı Azerbaycanlılar üçün online kazino oynamaq üçün təşəkkür edirik – EuroPalace Casino;
5. Çoxlu oyunlar, güvənləndirilmiş ödəniş imkanları və çox sevildiyi bonuslar ilə şənlik edin – JackpotCity Casino;
6. Ən yaxşı mükafatlar, çoxlu oyunlar və güvənləndirilmiş ödəniş imkanları ilə şənlik edin – Spin Palace Casino;
7. Pinco qeydiyyat Güvənləndirilmiş, müasir və çox sevildiyi Royal Panda Casino;
8. Ən yaxşı oyunlar, güvənləndirilmiş ödəniş imkanları və təşəkkür edirik bonuslar ilə şənlik edin – Ruby Fortune Casino.

Pinco Azerbaycanlılar üçün ən yaxşı online kazino oynamaq: çox oyunlar

Pinco Azerbaycanlılar üçün ən yaxşı online kazino platforması seçmək üçün rahat hissə edin! Bu sahədə çox oyunlar, bonusalar və komfortlıq tapın. Əgər siz öz yaxşı online kazino tapmak isdınız, biz sizin üçün təklif edirik bu 8 nəzərə alınıb:
1. Müxtəlif oyun türləri barındırır .
2. Gücləndirilmiş şifrlər kullanılır, sizin məlumatlarınız göstərilməz.
3. Rəsmi lisenzsiya verilmişdir, təhlükəsizlik sağlanır.
4. Mobil uyğunluq və çox çeşitli ödəniş imkanları var.
5. Müşahidə edilmiş və rəndərlənmiş oyunların mövcudluğu var.
6. Mükəmməl müştəri xidməti və dəstək sunulur.
7. Fəaliyyətlərindən istifadə edən milyonlarca oyuncudan püf n olunmaz.
8. Bonuslar və promosyalar düzgün və açıq tətbiq edilir.

Pinco Azerbaycanlılar üçün ən yaxşı online kazino oynamaq: güclü qoşullar

Pinco Azerbaycanlıları üçün, ən yaxşı online kazino oynamağa dair düşünürsək, güclü qoşullar ilə çalınmalıdır. Bu, böyük bonuslar, keyfi miqyası, güclü mükafatlar və müxtəlif oyunlar təqdim edilməsi anlamına gelir. Əgər siz Azərbaycanda yaşayırsınız və online kazino oynamaq istəyirsiniz, biz sizin üçün aşağıdakı kəndlərdə bazı təsirli kazino platformaları təqdim edirik:
1. Yaxşı bonuslar və keyfi oyunlar üçün 888Casino,

2. Güclü mükafatlar və çox sayda oyun varsa Fun Casino,

3. Müxtəlif təkliflər və kompansiya ilə LeoVegas,

4. Çox sayda dildə oynamaq olanaqən Casino.com,

5. Ən yaxşı mobil uçuşlar və müxtəlif oyunlar üçün Mr Green,

6. Güclü qoşul və müxtəlif təkliflər ilə Betway,

7. Çox sayda dildə oynamaq olanaqən Betsafe,

8. Ən yaxşı slotlar və güclü qoşul ilə Casumo.

Bu platformaların heç biri sizin için təsirli olmayacaq, lakin biz sizin üçün aşağıdakıları qeyd edirik: oynamaq üçün əgər sizin bir hesab yoxdursa, çox keyifli oynamaq üçün qeydiyyatdan keçin; qeydiyyatdan keçdikdən sonra, sizin üçün doğru oyunları seçmək üçün bizim təkliflərimizə şöbət edin; son olarak, oynamaq sizinlə mövcud olan para qədərdir, lakin, daha çox para mövcud edərsəniz, daha çox keyif alacaqsınız!

Positive Review 1:

Mənim adım Elnur. 25 il olduğumu söyləyirəm. Ən sonunda Pinco Azerbaycanlılar üçün ən yaxşı online kazino oynamaq proqramını tapdım! Onlara baxın, hər şey müvafiq oldu, oyunlar çox mətbuud və mənim üçün ideal olan bir məzmun var!

Positive Review 2:

Salam, men Nazim. 30 il oldum. İstədiyim ki, sizlərə xəbərdarlıq verək onları övgərək. Pinco Azerbaycanlılar üçün ən yaxşı online kazino oynamaq proqramı mənə dair çox iyi bir səhifədir. Onların hər şeyi müvafiq oldu və mənim için uyğun olan bir çeşit oyunlar var. Təşəkkür edirəm!

Positive Review 3:

Merhaba, men Sevinc. 22 il oldum. İştiqamətim Pinco Azerbaycanlılar üçün ən yaxşı online kazino oynamaq proqramı ilə bağlıdır. Onların hər şey müvafiq oldu və mənim için çox müthəssis oyunları var. Təşəkkür edirəm, onları övgərəm!

Negative Review 1:

Salam, men Rovshan. 35 il oldum. Xəbərdarlıq vermək istəyirəm ki, mən Pinco Azerbaycanlılar üçün ən yaxşı online kazino oynamaq proqramı ilə alqış vermirəm. Onların bir neçə oyunu mənə dair sevimli deyil və onların müştərilərinə daha çox məzmun verməlisinlər.

Negative Review 2:

Merhaba, men Aysel. 28 il oldum. Mənim düşünmədim, Pinco Azerbaycanlılar üçün ən yaxşı online kazino oynamaq proqramı iyidir. Onların bir neçə özellikleri mənə dair sevimli deyil və onların müştərilərinə daha çox məzmun verməlisinlər.

Sualar və Cavablar

Pinco Azerbaycanlılar üçün ən yaxşı online kazino: Siz daha çox suallarınızı mövcuddur.

1. Pinco nədir? Pinco – müasir və rahat online kazino istirahatınızı sağlayan platformdır.

2. Pinco Azerbaycanlılar üçün məndir? Pinco sizin için Azerbaycan dilini destekleyen, sizin sevdiyiniz oyunların keyfiyinin təmin edilməsi üçün ideal platformdur.

3. Pinco-da güvənli oynamaq mümkün olur? Biz sizin kişilərinizin və paraınızın güvəsinə çatdırılan ən yaxşı təhlükəsizlik üzrə çalışırıq.

Design and Develop by Ovatheme